import br.com.linkin.mi.contants.Constant;
import br.com.linkin.mi.service.CteService;
import br.com.linkin.mi.soap.Soap;
import javax.xml.soap.SOAPMessage;

/**
 *
 *
 */
public class App {

    /**
     *
     * @param args
     */
    public static void main(String[] args) throws Exception {

//        Soap.configurarCertificado();
//
//        StringBuilder xml = new StringBuilder();
//
//        xml.append("<soap12:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap12=\"http://www.w3.org/2003/05/soap-envelope\">")
//           .append("<soap12:Header>")
//           .append("<cteCabecMsg xmlns=\"http://www.portalfiscal.inf.br/cte/wsdl/CteStatusServico\">")
//           .append("<cUF>51</cUF>")
//           .append("<versaoDados>1.01</versaoDados>")
//           .append("</cteCabecMsg>")
//           .append("</soap12:Header>")
//           .append("<soap12:Body>")
//           .append("<cteDadosMsg xmlns=\"http://www.portalfiscal.inf.br/cte/wsdl/CteStatusServico\">")
//           .append("<consStatServCte xmlns=\"http://www.portalfiscal.inf.br/cte\" versao=\"1.01\">")
//           .append("<tpAmb>2</tpAmb>")
//           .append("<xServ>STATUS</xServ>")
//           .append("</consStatServCte>")
//           .append("</cteDadosMsg>")
//           .append("</soap12:Body>")
//           .append("</soap12:Envelope>");
//
//        SOAPMessage sm = Soap.toMessage(xml.toString());
//        SOAPMessage retorno = Soap.send("https://homologacao.nfe.fazenda.sp.gov.br/cteWEB/services/cteStatusServico.asmx", sm);
//
//        System.out.println(retorno.toString());

        
        StringBuilder xml = new StringBuilder();

        xml.append("<soap12:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap12=\"http://www.w3.org/2003/05/soap-envelope\">")
           .append("<soap12:Header>")
           .append("<cteCabecMsg xmlns=\"http://www.portalfiscal.inf.br/cte/wsdl/CteStatusServico\">")
           .append("<cUF>51</cUF>")
           .append("<versaoDados>1.01</versaoDados>")
           .append("</cteCabecMsg>")
           .append("</soap12:Header>")
           .append("<soap12:Body>")
           .append("<cteDadosMsg xmlns=\"http://www.portalfiscal.inf.br/cte/wsdl/CteStatusServico\">")
           .append("<consStatServCte xmlns=\"http://www.portalfiscal.inf.br/cte\" versao=\"1.01\">")
           .append("<tpAmb>2</tpAmb>")
           .append("<xServ>STATUS</xServ>")
           .append("</consStatServCte>")
           .append("</cteDadosMsg>")
           .append("</soap12:Body>")
           .append("</soap12:Envelope>");
        
        String retorno = CteService.call(Constant.URL_CTESTATUSSERVICO, xml.toString());
        System.out.println(retorno.toString());
    }
}



//package br.com.javac.util;
//
//import java.io.FileInputStream;
//import java.security.KeyStore;
//import java.security.cert.Certificate;
//import java.security.cert.X509Certificate;
//import java.text.SimpleDateFormat;
//import java.util.Enumeration;
//
//public class ValidadeCertificadoDigitalA1 {
//	private static final SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
//	
//	public static void main(String[] args) {
//		
//		try {
//			String caminhoDoCertificadoDoCliente = "C:/JavaC/NF-e/certificadoDoCliente.pfx";
//            String senhaDoCertificadoDoCliente = "1234";
//            
//		    KeyStore keystore = KeyStore.getInstance(("PKCS12"));  
//		    keystore.load(new FileInputStream(caminhoDoCertificadoDoCliente), senhaDoCertificadoDoCliente.toCharArray());  
//		  
//		    Enumeration<String> eAliases = keystore.aliases();  
//		      
//		    while (eAliases.hasMoreElements()) {  
//		        String alias = (String) eAliases.nextElement();  
//		        Certificate certificado = (Certificate) keystore.getCertificate(alias);  
//		  
//		        info("Aliais: " + alias);
//		        X509Certificate cert = (X509Certificate) certificado;  
//		        
//		        info(cert.getSubjectDN().getName());
//		        info("Válido a partir de..: " + dateFormat.format(cert.getNotBefore()));
//		        info("Válido até..........: " + dateFormat.format(cert.getNotAfter()));  
//		    }  
//		} catch (Exception e) {
//			error(e.toString());
//		}
//	}
//
//	/**
//	 * Error.
//	 * @param log
//	 */
//	private static void error(String log) {
//		System.out.println("ERROR: " + log);
//	}
//
//	/**
//	 * Info
//	 * @param log
//	 */
//	private static void info(String log) {
//		System.out.println("INFO: " + log);
//	}
//	
//}